﻿namespace CoreEx.Common.Data
{
    /// <summary>
    /// Represents a cell value in an <see cref="ITable"/> instance.
    /// </summary>
    public interface ICell
    {
        /// <summary>
        /// Gets or sets the <see cref="IRow"/> that this <see cref="ICell"/> belongs to.
        /// </summary>
        IRow Row { get; set; }
        
        /// <summary>
        /// Gets or sets the <see cref="IColumn"/> that this <see cref="ICell"/> is associated with.
        /// </summary>
        IColumn Column { get; set; }

        /// <summary>
        /// Gets or sets the <see cref="ICell"/> value.
        /// </summary>
        object Value { get; set; }
    }
}